﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AutoUpdateLib;
using System.Reflection;

namespace ServerVideoCall
{
    public partial class frmUpdate : Form
    {
        public frmUpdate()
        {
            InitializeComponent();
        }
        private void frmUpdate_Load(object sender, EventArgs e)
        {
            
        }
        private void StartUpdate()
        {
            AutoUpdate autoUpdate = new AutoUpdate
            {
                RemotePath = "http://221.132.35.180/wlreport/VideoConference/",
                UpdateFileName = "Update.txt",
                ErrorMessage = "Có lỗi khi chạy tính năng Auto Update. Kiểm tra lại mạng.",
                FTPIP = "221.132.35.180",
                FTPUserName = "wlreport",
                FTPPassword = "wlreport",
                BasePath = Utils.GetBasePath(),
                MainPath = "VideoConference/",
                assembly = Assembly.GetExecutingAssembly().GetName()
            };
            autoUpdate.DownloadFileRaised += new AutoUpdate.DownloadFileEventHandler(autoUpdate_DownloadFileRaised);
            int ret = autoUpdate.UpdateFiles();
            if (ret == AutoUpdate.UPDATE_OK)
            {
                MessageBox.Show("Cập Nhật Phiên Bản Thành Công");
                Close();
                return;
            }

            if (ret == AutoUpdate.UPDATE_FAILED)  //Nếu có lỗi xuất hiện thì
            {
                Utils.ShowError(autoUpdate.ErrorMessage);
                return;
            }

            if (ret == AutoUpdate.NO_UPDATE)
            {
                Hide();
                this.Visible = false;
                Login frm = new Login(this);
                frm.Show();
                return;
            }
        }
        void autoUpdate_DownloadFileRaised(object sender, AutoUpdate.DownloadFileEventArgs e)
        {
            progressBar1.Maximum = e.FileCount;
            progressBar1.PerformStep();
            progressBar1.Refresh();
        }
        private void frmUpdate_Shown(object sender, EventArgs e)
        {
            StartUpdate();
        }
    }
}
